The invention relates to the field of computer networks and systems and methods for optimizing and accelerating network traffic. Many organizations are using so-called “cloud” computing to provide on-demand provisioning of computing resources, such as processing resources, storage resources, content hosting; and/or application software. In cloud computing, computing resources are accessed via a wide-area network, such as the internet, using client systems. Cloud computing systems may implement and provide access to any type of computing resource, software application, and/or service. Examples of cloud computing systems include the software-as-a-service (SaaS) and infrastructure-as-a-service (IaaS).
Because the majority of the processing and storage is provided by the cloud computing system, client systems accessing the cloud computing system typically do not require substantial computing resources and may only require a minimal operating system and/or web browser to access the resources provided via cloud computing. Additionally, the cloud computing system handles the majority of system configuration, system maintenance, and system and data backup and other reliability measures. Furthermore, cloud computing systems may consolidate computing resources for many different customers, thereby enhancing economies of scale. For these reasons, cloud computing systems are often less expensive and more reliable than locally-implemented computing systems.
However, the bandwidth and latency limitations of the wide-area network (WAN) that connects clients with cloud computing systems has a substantial impact on actual and perceived system performance. One approach to improving WAN performance, especially over the internet, is the use of a content delivery network. A content delivery network is a system of computers located at or near common network destinations, referred to as “edge” locations. The computers at these edge locations may prefetch and store copies of static content near potential destinations to decrease transit time and latency. For dynamic network traffic, these edge computers may perform enhanced network routing and TCP protocol optimization to reduce the impact of WAN latency on system performance. However, for dynamic content, this enhanced routing and TCP protocol optimization does not reduce the impact of WAN bandwidth limitations on system performance. Moreover, content delivery networks are typically limited to operating over the internet; therefore, they do not improve network performance within organizations' private local-area networks (LANs) and WANs behind firewalls. This limitation may have a substantial impact on the effectiveness of content delivery networks because many organizations include multiple branch location LANs connected via a private WAN.
WAN optimization devices are a second approach to improving WAN performance. A WAN optimization device typically monitors clients' network traffic to attempt to predict data likely to be requested by clients in the near future. This predicted data is prefetched over the WAN and stored by the WAN optimization devices at the clients' respective network locations, so that this data can be quickly accessed by users if requested. WAN optimization devices also typically compress data for communication over the WAN.
Additionally, WAN optimization devices may optimize both network protocols and application-level network traffic. In the latter case, WAN optimization devices analyze the content of network traffic to identify one or more associated software applications. Using knowledge of the behavior of these software applications, WAN optimization devices may better predict which data to prefetch and may streamline communications. For example, WAN optimization devices may speculatively issue additional network requests for data and/or operations in anticipation of future network requests from client systems. In contrast to WAN optimization devices, content delivery networks typically do not attempt to optimize network traffic at the application level. Furthermore, WAN optimization devices may host additional software services, applications, and/or virtual machine applications to simplify and/or streamline network performance. The WAN optimization devices' prefetching, storage, compression, and hosting capabilities mask the bandwidth and latency limitations of WANs from users.
WAN optimization devices may operate singly or in pairs at each side of a WAN connection to optimize network traffic. WAN optimization devices may be used with both private and public WANs, including, in the latter case, the internet. WAN optimization devices are referred to in the art by many different terms, including, but not limited to, transaction accelerators, WAN optimizers, WAN optimization controllers (WOCs), wide-area data services (WDS) appliances, WAN traffic optimizers (WTOs), and protocol accelerators or optimizers. Additionally, techniques for optimizing network traffic to improve network performance in reading and/or writing data over a network are referred to in the art by many different terms, including, but not limited to, WAN acceleration, transaction acceleration, transaction pipelining, protocol pipelining, request prediction, application flow acceleration, and protocol acceleration. Herein, the term “WAN optimization device” is used to refer to such devices and applications and “WAN optimization” is used to refer to such techniques.
In summary, WAN optimization devices greatly improve actual and perceived system performance. However, WAN optimization devices typically need to be deployed at both the source and destination of network traffic. Many cloud computing systems (such as SaaS and IaaS) may not be able and/or willing to integrate WAN optimization devices into their infrastructure.
In contrast, content delivery networks are deployed on top of or in parallel with existing internet infrastructure. Therefore, content delivery networks may be used for almost any type of internet network traffic associated with any network source or destination. However, the performance improvements from content delivery networks are more limited than those provided by WAN optimization devices. Furthermore, content delivery networks typically do not operate within an organization's private LANs and/or WANs behind firewalls. Additionally, network address translation (NAT) devices may make it difficult for content delivery networks to track client usage.